package com.qinglei.recoup.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 *
 *
 * @author dqh
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("table_sleep_analysis")
@ApiModel(value="SleepAnalysis对象", description="")
public class SleepAnalysis implements Serializable {

    private static final long serialVersionUID = 1L;

            @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "SN号")
    private String deviceId;

    @ApiModelProperty(value = "日期")
    private LocalDateTime date;

    @ApiModelProperty(value = "上床时间")
    private String getBedTime;

    @ApiModelProperty(value = "起床时间")
    private String outBedTime;

    @ApiModelProperty(value = "入睡时间")
    private String sleepTime;

    @ApiModelProperty(value = "晨醒时间")
    private String wakeTime;

    @ApiModelProperty(value = "睡眠时长/min")
    private Integer sleepLenMin;

    @ApiModelProperty(value = "有效睡眠时长/min")
    private Integer sleepLenValidMin;

    @ApiModelProperty(value = "离床时长")
    private Integer outbedTimeLen;

    @ApiModelProperty(value = "清醒时长")
    private Integer wakeTimeLen;

    @ApiModelProperty(value = "浅睡时长")
    private Integer lightTimeLen;

    @ApiModelProperty(value = "深睡时长")
    private Integer deepTimeLen;

    @ApiModelProperty(value = "离床时长占比")
    private Float outbedRatio;

    @ApiModelProperty(value = "清醒时长占比")
    private Float wakeRatio;

    @ApiModelProperty(value = "浅睡时长占比")
    private Float lightRatio;

    @ApiModelProperty(value = "深睡时长占比")
    private Float deepRatio;

    @ApiModelProperty(value = "睡眠过程离床次数")
    private Integer outbedCount;

    @ApiModelProperty(value = "睡眠过程体动次数")
    private Integer bodymoveCount;

    @ApiModelProperty(value = "睡眠状态")
    private String sleepState;

    @ApiModelProperty(value = "呼吸BPM")
    private String breathBpmMin;

    @ApiModelProperty(value = "心跳BPM")
    private String heartBpmMin;

    @TableField("bodymove_15min")
    @ApiModelProperty(value = "15min体动次数详情")
    private String bodymove15min;

    @ApiModelProperty(value = "睡眠质量打分结果")
    private Integer sleepScore;

    @ApiModelProperty(value = "睡眠报告结果标识")
    private Integer resultFlag;

    @ApiModelProperty(value = "睡眠效率")
    private Integer sleepEff;

    @ApiModelProperty(value = "最低呼吸率")
    private Integer breathMin;

    @ApiModelProperty(value = "最高呼吸率")
    private Integer breathMax;

    @ApiModelProperty(value = "平均呼吸率")
    private Integer breathMean;

    @ApiModelProperty(value = "最低心率")
    private Integer heartMin;

    @ApiModelProperty(value = "最高心率")
    private Integer heartMax;

    @ApiModelProperty(value = "平均心率")
    private Integer heartMean;

    @ApiModelProperty(value = "睡眠状态截取起始索引")
    private Integer cutStIdx;

    @ApiModelProperty(value = "睡眠状态截取结束索引")
    private Integer cutEdIdx;

}
